// miniprogram/pages/replacemodify/replace0_trunpatient/trunpatient.js
const db=wx.cloud.database();
const _ = db.command;
//时间转换函数
import common from "../../../utils/getMyData.js";

Page({

  /**
   * 页面的初始数据
   */
  data: {
    //普通上拉菜单
    show1:false,     //控制弹出层是否弹出的值
    gender_patient_sex:'',        //选择性别之后的值进行页面显示
    show6:false,
    gender_patient_blood:"",

    // 手术日期时间选择器
    show_opertime:false,
    gender_opertime:'',
    // show_patient_others_time:"",  //添加更多
    // gender_patient_others_time:"",  //添加更多
    currentDate: new Date().getTime(),
    maxDate: new Date().getTime(),
    formatter(type, value) {
      if (type === 'year') {
        return `${value}年`;
      } else if (type === 'month') {
        return `${value}月`;
      }
      return value;
    },

    //下拉框显示
    getChiefIdToPatient:"",   show_patient_chief:false,  gender_patient_chief:"",//新增患者页面的主管医师上拉框
    getChiefIdToPatient2:"",  show_patient_otherchief:false,  gender_patient_otherchief:"",//新增患者页面的主管医师上拉框()结合添加更多

    //添加更多
    patient_show_number:"",
    patient_oper_list_name1:"position:relative; display:none",
    patient_oper_list_time1:"position:relative; display:none",
    patient_oper_list_name2:"position:relative; display:none",
    patient_oper_list_time2:"position:relative; display:none",
    patient_oper_list_name3:"position:relative; display:none",
    patient_oper_list_time3:"position:relative; display:none",
    patient_oper_list_name4:"position:relative; display:none",
    patient_oper_list_time4:"position:relative; display:none",

    //因为按钮处要进行wx:if判断，所以要将所有输入框的数据声明
    //新增患者页面
    patient_name:"",
    patient_bed:"",
    patient_sex:"",
    patient_age:"",
    patient_blood_type:"",
    patient_chief:"",
    patient_diag:"",
    patient_treat:"", 
    patient_oper_list_name:"",
    patient_oper_list_time:"",
  },

  //输入框回调
  onChange(e) {
    //输入框
    console.log(e.detail);   
    this.setData({
      //因为按钮处要进行wx:if判断，所以要将所有输入框的数据声明
      [e.target.dataset.key]:e.detail
    })
    console.log(this.data)
  },

  //提交表单添加进数据库
  btnSub_patient(res){
    var {patient_name,patient_bed,patient_sex,patient_age,patient_blood_type,patient_diag,patient_treat,patient_oper_list_name}=res.detail.value
     //进入加载页面
     wx.showLoading({
      title: '加载中...',
      mask: true
      })
      setTimeout(function () {
        wx.hideLoading()
      }, 2000)
      console.log(this.data)

    //在本地改ward表中新入院
    //每提交一次新入院加一
    db.collection("ward").where({
      ward_submit:false
    }).update({
          data:{
            ward_in:_.push([patient_name])
          } 
    })

    //云函数调用
    wx.cloud.callFunction({
        name:"newAdd",
        data:{
          action:'patient',
          patient_name:patient_name,
          patient_bed:patient_bed,
          patient_sex:patient_sex,
          patient_age:patient_age,
          patient_blood_type:patient_blood_type,
          patient_chief:this.data.patient_chief,
          patient_diag:patient_diag,
          patient_treat:patient_treat, 
          patient_oper_list_name:patient_oper_list_name,
          patient_oper_list_time:this.data.patient_oper_list_time,
          patient_others:this.data.patient_others,
          patient_otherchief:this.data.patient_otherchief
      }
    }).then(res=>{
      console.log(res)
      //清除填写内容
      this.setData({
        //清空value
        value:"",
        gender_patient_sex:"",
        gender_patient_blood:"",
        gender_opertime:"",
        gender_patient_chief:"",
        message:"",
        //清空值
        patient_name:"",
        patient_bed:"",
        patient_sex:"",
        patient_age:"",
        patient_blood_type:"",
        patient_chief:"",
        patient_diag:"",
        patient_treat:"", 
        patient_oper_list_name:"",
        patient_oper_list_time:"",
        patient_others:"",
        patient_otherchief:""
      })
    })
},

  //新增患者页面上拉菜单/性别
  showPopup_patient_sex(e){      //点击选择性别，打开弹出层（选择器）
    this.setData({
      columns_patient_sex: ['男','女'],   //选择器中的值
      show1:true
    })
  },
  onClose_patient_sex() {     //点击空白处开闭弹出层（选择器）及选择器左上角的取消
    this.setData({ show1: false });
  },
  onConfirm_patient_sex(e){    //选择器右上角的确定，点击确定获取值
    this.setData({
      gender_patient_sex:e.detail.value,
      patient_sex:e.detail.value,
      show1:false
    })
  },
  //新增患者页面上拉菜单/血型
  showPopup_patient_blood(e){      //点击选择性别，打开弹出层（选择器）
    this.setData({
      columns_patient_blood: ['A','B','AB','O'],   //选择器中的值
      show6:true
    })
  },
  onClose_patient_blood() {     //点击空白处开闭弹出层（选择器）及选择器左上角的取消
    this.setData({ show6: false });
  },
  onConfirm_patient_blood(e){    //选择器右上角的确定，点击确定获取值
    this.setData({
      gender_patient_blood:e.detail.value,
      patient_blood_type:e.detail.value,
      show6:false
    })
  },
    //新增患者页面主管医师上拉框
  showPopup_patient_chief(e){      //点击选择性别，打开弹出层（选择器）
    db.collection("user").where({
    }).get().then(res=>{
      this.setData({
        getChiefIdToPatient:res.data,
        patient_chief:"",
        columns_patient_chief:[]
      })
      for(var i=0;i<res.data.length;i++){
        this.data.columns_patient_chief[i]=res.data[i].user_name
      }
      this.setData({
        columns_patient_chief:this.data.columns_patient_chief,
      })
    })
    this.setData({
      //columns_opertime: ['A','B','AB','O'],   //选择器中的值
      show_patient_chief:true
    })
  },
  onClose_patient_chief() {     //点击空白处开闭弹出层（选择器）及选择器左上角的取消
    this.setData({ show_patient_chief: false });
  },
  onConfirm_patient_chief(e){    //选择器右上角的确定，点击确定获取值
    this.data.patient_chief=this.data.getChiefIdToPatient[e.detail.index]._openid
    this.setData({
      gender_patient_chief:e.detail.value,
      patient_chief:this.data.patient_chief,
      show_patient_chief:false
    })
  },
  //新增患者页面主管医师上拉框(结合添加更多)
  showPopup_patient_otherchief(e){      //点击选择性别，打开弹出层（选择器）
    db.collection("user").where({
    }).get().then(res=>{
      this.setData({
        getChiefIdToPatient2:res.data,
        columns_patient_otherchief:[]
      })
      for(var i=0;i<res.data.length;i++){
        this.data.columns_patient_otherchief[i]=res.data[i].user_name
      }
      this.setData({
        columns_patient_otherchief:this.data.columns_patient_otherchief,
      })
    })
    this.data.show_patient_otherchief[e.currentTarget.dataset.index]=true
    this.setData({
      //columns_opertime: ['A','B','AB','O'],   //选择器中的值
      show_patient_otherchief: this.data.show_patient_otherchief
    })
  },
  onClose_patient_otherchief(e) {     //点击空白处开闭弹出层（选择器）及选择器左上角的取消
    for(var i=0;i<this.data.show_patient_otherchief.length;i++){
      this.data.show_patient_otherchief[i]=false
    }
    this.data.show_patient_otherchief[e.currentTarget.dataset.index]=false
    this.setData({ show_patient_otherchief: this.data.show_patient_otherchief });
  },
  onConfirm_patient_otherchief(e){    //选择器右上角的确定，点击确定获取值
    this.data.show_patient_otherchief[e.currentTarget.dataset.index]=false
    this.data.gender_patient_otherchief[e.currentTarget.dataset.index]=e.detail.value
    this.data.patient_otherchief[e.currentTarget.dataset.index]=this.data.getChiefIdToPatient2[e.detail.index]._openid
    this.setData({
      gender_patient_otherchief:this.data.gender_patient_otherchief,
      patient_otherchief:this.data.patient_otherchief,
      show_patient_otherchief:this.data.show_patient_otherchief
    })
  },
  //新增患者页面主管医师上拉框
  showPopup_patient_chief(e){      //点击选择性别，打开弹出层（选择器）
    db.collection("user").where({
    }).get().then(res=>{
      this.setData({
        getChiefIdToPatient:res.data,
        patient_chief:"",
        columns_patient_chief:[]
      })
      for(var i=0;i<res.data.length;i++){
        this.data.columns_patient_chief[i]=res.data[i].user_name
      }
      this.setData({
        columns_patient_chief:this.data.columns_patient_chief,
      })
    })
    this.setData({
      //columns_opertime: ['A','B','AB','O'],   //选择器中的值
      show_patient_chief:true
    })
  },
  onClose_patient_chief() {     //点击空白处开闭弹出层（选择器）及选择器左上角的取消
    this.setData({ show_patient_chief: false });
  },
  onConfirm_patient_chief(e){    //选择器右上角的确定，点击确定获取值
    this.data.patient_chief=this.data.getChiefIdToPatient[e.detail.index]._openid
    this.setData({
      gender_patient_chief:e.detail.value,
      patient_chief:this.data.patient_chief,
      show_patient_chief:false
    })
  },
  //新增患者页面主管医师上拉框(结合添加更多)
  showPopup_patient_otherchief(e){      //点击选择性别，打开弹出层（选择器）
    db.collection("user").where({
    }).get().then(res=>{
      this.setData({
        getChiefIdToPatient2:res.data,
        columns_patient_otherchief:[]
      })
      for(var i=0;i<res.data.length;i++){
        this.data.columns_patient_otherchief[i]=res.data[i].user_name
      }
      this.setData({
        columns_patient_otherchief:this.data.columns_patient_otherchief,
      })
    })
    this.data.show_patient_otherchief[e.currentTarget.dataset.index]=true
    this.setData({
      //columns_opertime: ['A','B','AB','O'],   //选择器中的值
      show_patient_otherchief: this.data.show_patient_otherchief
    })
  },
  onClose_patient_otherchief(e) {     //点击空白处开闭弹出层（选择器）及选择器左上角的取消
    for(var i=0;i<this.data.show_patient_otherchief.length;i++){
      this.data.show_patient_otherchief[i]=false
    }
    this.data.show_patient_otherchief[e.currentTarget.dataset.index]=false
    this.setData({ show_patient_otherchief: this.data.show_patient_otherchief });
  },
  onConfirm_patient_otherchief(e){    //选择器右上角的确定，点击确定获取值
    this.data.show_patient_otherchief[e.currentTarget.dataset.index]=false
    this.data.gender_patient_otherchief[e.currentTarget.dataset.index]=e.detail.value
    this.data.patient_otherchief[e.currentTarget.dataset.index]=this.data.getChiefIdToPatient2[e.detail.index]._openid
    this.setData({
      gender_patient_otherchief:this.data.gender_patient_otherchief,
      patient_otherchief:this.data.patient_otherchief,
      show_patient_otherchief:this.data.show_patient_otherchief
    })
  },
  //新增患者页面手术日期时间选择器
  showPopup_opertime(e){      //点击选择性别，打开弹出层（选择器）
    this.setData({
      //columns_opertime: ['A','B','AB','O'],   //选择器中的值
      show_opertime:true
    })
  },
  onClose_opertime() {     //点击空白处开闭弹出层（选择器）及选择器左上角的取消
    this.setData({ show_opertime: false });
  },
  onConfirm_opertime(e){    //选择器右上角的确定，点击确定获取值
    this.setData({
      gender_opertime:common.getMyData(e.detail,'Y-m-d'),
      patient_oper_list_time:e.detail,
      show_opertime:false
    })
  },
  onInput(event) {
    this.setData({
      currentDate: event.detail,
    });
    console.log(event)
  },
  //手术时间选择器（结合添加更多，没再写onInput函数）
  showPopup_patient_others_time(e){      //点击选择性别，打开弹出层（选择器）
    this.data.show_patient_others_time[e.currentTarget.dataset.index]=true
    this.setData({
      //columns_opertime: ['A','B','AB','O'],   //选择器中的值
      show_patient_others_time:this.data.show_patient_others_time
    })
  },
  onClose_patient_others_time(e) {     //点击空白处开闭弹出层（选择器）及选择器左上角的取消
    for(var i=0;i<this.data.show_patient_others_time.length;i++){
      this.data.show_patient_others_time[i]=false
    }
    this.data.show_patient_others_time[e.currentTarget.dataset.index]=false
    this.setData({ show_patient_others_time:this.data.show_patient_others_time });
  },
  onConfirm_patient_others_time(e){    //选择器右上角的确定，点击确定获取值
    this.data.show_patient_others_time[e.currentTarget.dataset.index]=false
    this.data.gender_patient_others_time[e.currentTarget.dataset.index]=common.getMyData(e.detail,'Y-m-d')
    this.data.patient_others[e.currentTarget.dataset.index].time=e.detail
    this.setData({
      gender_patient_others_time:this.data.gender_patient_others_time,
      patient_others:this.data.patient_others,
      show_patient_others_time:this.data.show_patient_others_time
    })
  },

  //添加更多
  patient_show(res){
    this.setData({
      patient_show_number:this.data.patient_show_number
    })
    switch(++this.data.patient_show_number){
      case 1:
        this.setData({
          patient_oper_list_name1:"position:relative",
          patient_oper_list_time1:"position:relative"
        })
        break;
      case 2:
        this.setData({
          patient_oper_list_name2:"position:relative",
          patient_oper_list_time2:"position:relative"
        })
        break;
      case 3:
        this.setData({
          patient_oper_list_name3:"position:relative",
          patient_oper_list_time3:"position:relative"
        })
        break;
      case 4:
        this.setData({
          patient_oper_list_name4:"position:relative",
          patient_oper_list_time4:"position:relative"
        })
        break;
    }
  },

  //添加更多的显示
  patient_others_show(res){
    this.data.patient_others.push({"name":"","time":""})
    this.data.show_patient_others_time.push()
    this.data.gender_patient_others_time.push()
    this.setData({
      patient_others:this.data.patient_others,
      show_patient_others_time:this.data.show_patient_others_time,
      gender_patient_others_time:this.data.gender_patient_others_time
    })
  },
  patient_otherchief_show(res){
    this.data.patient_otherchief.push("")
    this.data.show_patient_otherchief.push()
    this.data.gender_patient_otherchief.push()
    this.setData({
      patient_otherchief:this.data.patient_otherchief,
      show_patient_otherchief:this.data.show_patient_otherchief,
      gender_patient_otherchief:this.data.gender_patient_otherchief
    })
  },

  //添加更多的删除
  patient_others_clear(res){
    this.data.patient_others.splice(res.currentTarget.dataset.index,1)
    this.data.show_patient_others_time.splice(res.currentTarget.dataset.index,1)
    this.data.gender_patient_others_time.splice(res.currentTarget.dataset.index,1)
    this.setData({
      patient_others:this.data.patient_others,
      show_patient_others_time:this.data.show_patient_others_time,
      gender_patient_others_time:this.data.gender_patient_others_time
    })
  },
  patient_otherchief_clear(res){
    this.data.patient_otherchief.splice(res.currentTarget.dataset.index,1)
    this.data.show_patient_otherchief.splice(res.currentTarget.dataset.index,1)
    this.data.gender_patient_otherchief.splice(res.currentTarget.dataset.index,1)
    this.setData({
      patient_otherchief:this.data.patient_otherchief,
      show_patient_otherchief:this.data.show_patient_otherchief,
      gender_patient_otherchief:this.data.gender_patient_otherchief
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //添加更多——动态添加veiw
    //新增患者页面的手术类型和手术日期，统一归到一个对象数组
    var patient_others=[]
    var show_patient_others_time=[]
    var gender_patient_others_time=[]
    this.setData({
      patient_others:patient_others,
      show_patient_others_time:show_patient_others_time,
      gender_patient_others_time:gender_patient_others_time
    })
    //新增患者页面的主管医师
    var patient_otherchief=[]
    var show_patient_otherchief=[]
    var gender_patient_otherchief=[]
    this.setData({
      patient_otherchief:patient_otherchief,
      show_patient_otherchief:show_patient_otherchief,
      gender_patient_otherchief:gender_patient_otherchief
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

})